#ifndef __COMPONENT_LOCOMOTION_BASE_H__
#define __COMPONENT_LOCOMOTION_BASE_H__

#include "Components/ComponentLocomotion.h"
#include "Engine/Vector3.hpp"
#include <mutex>
#include <atomic>

using namespace PocketSurvival::Engine;

namespace PocketSurvival
{
    struct ComponentLocomotionBase : public ComponentLocomotion
    {
        virtual void normalMovement(float dt) override;
        virtual void ladderMovement(float dt, int32_t value) override;


        virtual void update(float dt) override;
        virtual const std::string &getName() const override;
        static const std::string &GetName();
        virtual void load(const nlohmann::json &jsonData) override;
    };

} // namespace PocketSurvival

#endif